Outline

1. GMM self-implementation

2. GMM with 1D generated data

3. GMM with 2D datasets

4. GMM for generating handwritten digits

Ta sẽ lấy data handwritten digits từ thư viện sklearn, mỗi digit sẽ được biểu diễn bằng 64 pixels. Sau đó ta sẽ sử dụng GMM như một generative model để sinh ra các digits mới.

Ta sẽ sử dụng GMM với 100 cụm

5. Semi-supervised EM for GMM

Ta hãy cùng thử nghiệm mô hình thuật toán EM áp dụng cho các bài toán GMM semi-supervised, khi mà có cả labelled và unlabelled examples.

Ta sẽ tạo ra một dataset 2D để so sánh giữa Unsupervised GMM và Semi-Supervised GMM.

Ta thấy dataset 2D ở trên được generated với 5 phân phối Gaussian, mỗi phân phối ta biết tầm 10 điểm thuộc phân phối đó. (Những điểm màu khác màu đỏ)

Ta thấy GMM với thuật toán EM truyền thống không phân cụm đúng với các phân phối Gaussian mà ta đã dùng để generate dataset này.

Trong khi, Semi-Supervised GMM phân cụm rất chính xác, chỉ nhờ vào 50 điểm cho trước thuộc các phân phối Gaussian

Ta hãy cùng đến với một dataset khác.

Ta thấy dataset 2D ở trên được generated với 4 phân phối Gaussian, mỗi phân phối ta chỉ biết 5 điểm thuộc phân phối đó. (Những điểm màu khác màu đỏ)

Ta thấy GMM với thuật toán EM truyền thống không phân cụm đúng với các phân phối Gaussian mà ta đã dùng để generate dataset này.

Trong khi, Semi-Supervised GMM phân cụm rất chính xác, chỉ nhờ vào 5 điểm cho trước thuộc mỗi phân phối Gaussian